home *** CD-ROM | disk | FTP | other *** search
/ Cre@te Online 2000 December / Cre@teOnline CD05.iso / MacSoft / XML Instance.sea / XML Instance / Required / plugins / print.jar / com / extensibility / plugin / print / HtmlPrint.class (.txt)
Encoding:
Java Class File  |  2000-07-31  |  3.2 KB  |  97 lines

  1. package com.extensibility.plugin.print;
  2.  
  3. import com.extensibility.plugin.PluginRegistry;
  4. import com.extensibility.plugin.api.PrintHtml10;
  5. import com.extensibility.plugin.api.PrintPreferences;
  6. import horst.HTMLPane;
  7. import horst.HTMLPaneStatusEvent;
  8. import horst.HTMLPaneStatusListener;
  9. import horst.HTMLWindow;
  10. import java.awt.AWTEvent;
  11. import java.awt.print.PageFormat;
  12. import java.awt.print.Paper;
  13. import java.awt.print.PrinterJob;
  14. import java.io.File;
  15. import java.io.Reader;
  16. import java.net.URL;
  17.  
  18. public class HtmlPrint implements PrintHtml10, HTMLPaneStatusListener {
  19.    private HTMLWindow htmlWindow = new HTMLWindow();
  20.    private HTMLPane htmlRenderer;
  21.    private File toDeleteWhenDone;
  22.    private boolean printWhenLoaded;
  23.    private boolean loaded;
  24.    // $FF: synthetic field
  25.    private static Class class$Lcom$extensibility$plugin$print$HtmlPrint;
  26.  
  27.    public static void registerPlugin(PluginRegistry var0) {
  28.       var0.registerPlugin("PrintHtml10", class$Lcom$extensibility$plugin$print$HtmlPrint != null ? class$Lcom$extensibility$plugin$print$HtmlPrint : (class$Lcom$extensibility$plugin$print$HtmlPrint = class$("com.extensibility.plugin.print.HtmlPrint")), "HTML Printer", 65538);
  29.    }
  30.  
  31.    public void setHtmlToPrint(Reader var1, URL var2) {
  32.       this.htmlRenderer.openPage(var1, var2);
  33.       this.printWhenLoaded = true;
  34.    }
  35.  
  36.    public void setHtmlToPrint(URL var1) {
  37.       this.htmlRenderer.openPage(var1);
  38.       this.printWhenLoaded = true;
  39.    }
  40.  
  41.    public void doPrinting(File var1, PrintPreferences var2) {
  42.       PageFormat var3 = new PageFormat();
  43.       Paper var4 = new Paper();
  44.       var3.setOrientation(var2.getOrientation());
  45.       var4.setSize(var2.getWidth(), var2.getHeight());
  46.       var4.setImageableArea(var2.getImageableX(), var2.getImageableY(), var2.getImageableWidth(), var2.getImageableHeight());
  47.       var3.setPaper(var4);
  48.       this.htmlRenderer.setPageFormat(var3);
  49.       this.toDeleteWhenDone = var1;
  50.    }
  51.  
  52.    public boolean statusChanged(HTMLPaneStatusEvent var1) {
  53.       if (((AWTEvent)var1).getID() == 5) {
  54.          this.htmlRenderer.printPage();
  55.          if (this.toDeleteWhenDone != null) {
  56.             this.toDeleteWhenDone.delete();
  57.          }
  58.       }
  59.  
  60.       return true;
  61.    }
  62.  
  63.    public PrintPreferences displayPrintSetup(PrintPreferences var1) {
  64.       PageFormat var2 = new PageFormat();
  65.       Paper var3 = new Paper();
  66.       var2.setOrientation(var1.getOrientation());
  67.       var3.setSize(var1.getWidth(), var1.getHeight());
  68.       var3.setImageableArea(var1.getImageableX(), var1.getImageableY(), var1.getImageableWidth(), var1.getImageableHeight());
  69.       var2.setPaper(var3);
  70.       PrinterJob var4 = PrinterJob.getPrinterJob();
  71.       var2 = var4.pageDialog(var2);
  72.       var1.setOrientation(var2.getOrientation());
  73.       var1.setWidth(var2.getPaper().getWidth());
  74.       var1.setHeight(var2.getPaper().getHeight());
  75.       var1.setImageableX(var2.getPaper().getImageableX());
  76.       var1.setImageableY(var2.getPaper().getImageableY());
  77.       var1.setImageableWidth(var2.getPaper().getImageableWidth());
  78.       var1.setImageableHeight(var2.getPaper().getImageableHeight());
  79.       this.htmlRenderer.setPageFormat(var2);
  80.       return var1;
  81.    }
  82.  
  83.    // $FF: synthetic method
  84.    static Class class$(String var0) {
  85.       try {
  86.          return Class.forName(var0);
  87.       } catch (ClassNotFoundException var2) {
  88.          throw new NoClassDefFoundError(((Throwable)var2).getMessage());
  89.       }
  90.    }
  91.  
  92.    public HtmlPrint() {
  93.       this.htmlRenderer = this.htmlWindow.getHTMLPane();
  94.       this.htmlRenderer.addStatusListener(this);
  95.    }
  96. }
  97.